package com.alinesno.infra.smart.assistant.scene.scene.examPaper.prompt;

public class ExamPagerPrompt {

    /**
     * 生成试卷的提示文本
     */

    public static final String EXAM_PAPER_PROMPT_TEXT = """
           %s，
           题目难度:%s
           生成题目类型:%s，题目数量:%s，每道题目的分值是:%s
           
           生成每个题目包含以下的内容:
           题目/答案/正确答案/考核内容/答案解析/每题的分数
           
           要求:
           1. 考核解析的内容要详细，答案解析也要详细易懂，便于学员和教师更好的学习
           2. 完整的题目内容，用于生成试卷题目
           3. 不要生成LaTeX表达式，规避JSON解析异常
           """ ;


    public static final String EXAM_MARK_PROMPT_TEXT = """
            请对下面的题目和用户的回答进行阅卷，以下为考试试卷和用户回答的答案：
            %s
                
            ##任务
            - 针对于每一道题目进行打分，并写出打分的理由
            - 返回的结果需要格式化结果输出，并返回json格式方便应用解析，JSON 格式说明文档，数据结构
                '''
                    根对象
                    - `overall` (字符串): 对学生整体考试表现的综合性评价和建议
                    - `examResults` (数组): 各题目的详细分析结果
                                
                    examResults 数组中的对象
                    每个对象代表一道题目的分析结果，包含以下字段：
                                
                    1. **基本信息**
                       - `id` (字符串): 题目唯一标识符
                       - `score` (数字): 学生在该题获得的分数
                       - `maxScore` (数字): 该题的最高可能得分
                       - `comment` (字符串): 对该题作答情况的评语
                                
                    2. **薄弱环节分析** (可选)
                       - `weakAreas` (数组): 列出该题反映出的知识薄弱点
                         - `topic` (字符串): 薄弱知识点主题
                         - `issue` (字符串): 具体问题描述
                         - `suggestion` (字符串): 改进建议
                                
                    3. **改进建议**
                       - `improvementSuggestions` (数组): 针对该题目的学习建议
                         - `topic` (字符串): 建议主题
                         - `text` (字符串): 具体建议内容
                                
                    示例说明
                                
                    整体评价
                    `overall` 字段提供了对学生整体表现的全面评价，包括：
                    - 优势领域（如集合与简易逻辑、函数与导数）
                    - 薄弱环节（如三角函数和立体几何）
                    - 解题特点（思路清晰、步骤完整）
                    - 时间管理情况
                    - 具体改进建议
                                
                    题目分析
                    对于每道题目，报告提供：
                    1. 得分情况（得分/满分）
                    2. 具体评语（指出优点和不足）
                    3. 针对性的改进建议（如专项练习、错题整理等）
                                
                    使用建议
                    1. 教师可根据此报告了解学生整体和个体的学习状况
                    2. 学生可根据建议制定针对性的学习计划
                    3. 薄弱环节分析可帮助聚焦需要加强的知识点
                    4. 改进建议提供了具体可操作的学习方法
                                
                    字段关系图
                    根对象
                    ├── overall (整体评价，不少于300个字，注意换行格式)
                    └── examResults (题目分析数组)
                        ├── id (题目ID号，与题目关联)
                        ├── score (得分)
                        ├── maxScore (满分)
                        ├── comment (评语，不少于100个字)
                        ├── weakAreas (可选, 薄弱点分析)
                        │   ├── topic (知识点)
                        │   ├── issue (具体问题)
                        │   └── suggestion (改进建议，不少于50个字)
                        └── improvementSuggestions (改进建议)
                            ├── topic (建议主题)
                            └── text (建议内容，不少于100个字)
                '''
                
                比如:
                ```json
                {
                    "overall":"亲爱的同学，从试卷分析来看，你在集合与简易逻辑、函数与导数等基础知识点上掌握扎实，展现了良好的基本功。但在三角函数和立体几何部分表现相对薄弱，特别是三角函数的综合应用题得分率低，这反映出你在复杂问题的公式转换和计算准确性上还需加强。 \\n
                               值得肯定的是，你的解题思路清晰，步骤完整，在解答题部分获得了较高的过程分。时间管理方面，你用时105分钟完成全部试题，时间分配合理，保持了良好节奏。\\n
                               基于本次考试表现，建议你：
                               - 1) 每天安排30分钟专项练习三角函数综合题;\\n
                               - 2) 整理错题本，重点分析几何证明题的解题思路；\\n
                               - 3) 定期进行限时训练，提高解题速度。\\n
                               相信通过有针对性的训练，你在下次考试中一定能取得更大进步！" ,
                    "examResults": [
                        {
                            "id": "1941514712164405249",
                            "score": 2,
                            "maxScore": 2,
                            "comment": "优秀！答案完全正确，解题步骤清晰完整。继续保持这种严谨的学习态度！",
                            "improvementSuggestions": [
                                {
                                    "topic": "加强三角函数练习",
                                    "text": "针对三角函数部分的薄弱环节，建议每天进行30分钟的专项练习，重点掌握三角函数的图像与性质、三角恒等变换等内容。"
                                },
                                {
                                    "topic": "提高解题速度",
                                    "text": "在保证答题正确率的前提下，需要提高解题速度。建议进行限时训练，逐步提高解题效率。"
                                }
                            ]
                        },
                        {
                            "id": "1941514712168599553",
                            "score": 1,
                            "maxScore": 2,
                            "comment": "答案部分正确，但存在关键步骤缺失。需要注意解题的完整性，避免因跳步失分。",
                            "weakAreas": [
                                {
                                    "topic": "向量坐标运算",
                                    "issue": "向量的线性组合运算不熟练",
                                    "suggestion": "建议重新学习向量线性运算的几何意义"
                                },
                                {
                                    "topic": "解题规范性",
                                    "issue": "关键推导步骤缺失",
                                    "suggestion": "养成写出关键过渡步骤的习惯"
                                }
                            ],
                            "improvementSuggestions": [
                                {
                                    "topic": "加强三角函数练习",
                                    "text": "针对三角函数部分的薄弱环节，建议每天进行30分钟的专项练习，重点掌握三角函数的图像与性质、三角恒等变换等内容。"
                                },
                                {
                                    "topic": "提高解题速度",
                                    "text": "在保证答题正确率的前提下，需要提高解题速度。建议进行限时训练，逐步提高解题效率。"
                                }
                            ]
                        }
                    ]
                }
                ```
            """ ;
}
